/**
 * config: 查询的配置 Array
 * config: {
 *  type: '类型'(input/select/date/daterange/button),
 *  code: '对应filterData的属性'
 *  name: '列名称',
 *  options: '下拉选择框的下拉项',
 *  text: '按钮的文本',
 *  fun: 方法，
 *  auth： 权限控制字段，判定是否显示
 *  width: 宽度
 *  labelName: 自定义下拉框选项的label,
 *  valueName: 自定义下拉框选项的value,
 *  buttonType: 按钮的类型
 *  buttonFloat: 按钮靠左还是靠右
 * }
 */
export interface serachConfig {
    type: string,
    code?: string,
    name?: string,
    fun?: Function,
    options?: Array<unknown>,
    text?: string,
    auth?: string | number | boolean,
    width?: string,
    labelName?: string,
    valueName?: string,
    multiple?: boolean,
    props?:Object,
    hide?:boolean,
    valueFormat?:string,
    pickerOption?: object,
    buttonType?: string,
    buttonFloat?: string
}
/**
 * label: 列名,
 * key: 取值字段,
 * width: 宽度,
 * align: 对齐方式
 * slot: 是否使用插槽
 */
export interface column {
    label: string,
    key?: string,
    width?: string | number,
    align?: string,
    slot?: boolean,
    showOverflowTooltip?: boolean,
}

export interface TemplateItemComponent {
    ['id']: any,
    description: string | undefined,
    templateType: any,
    resolution: string,
    rate?: number,
    templateItemList: TemplateComponentConfig[]
}

export interface TemplateComponentConfig {
    templateItemType: string,
    templateTitle: string,
    icon: any,
    itemPropertyObj: TemplateItem
    ['render']: any,
    ['config']: any
}
export interface TemplateItem {
    layer: string,
    layerName: string,
    width: number | string,
    height: number | string,
    templateItemType: string,
    ['xcoordinate']: number | undefined,
    ['ycoordinate']: number | undefined,
}
export interface Fun {
    (): void
}
export interface listApiParam {
    pageNum:number,
    pageSize:number,
}

export interface labelList {
    label: string,
    value: number|string
}
export interface Address {
    name:string,
    phone:string,
    address:string,
    postCode:string,
    city:string,
    country:string
}
